package com.ncp.model.biz.product;


import java.io.File;

import com.ncp.model.dao.DB;
import com.ncp.model.entity.product.ProductAllInfoBean;
import com.ncp.model.entity.product.ProductUpdateBean;

import com.ncp.model.entity.product.ProductSortBean;

public class ManageBackstageProductBiz {
	
	
	
	DB db = new DB();
	
	/**
	 * 更新产品描述
	 * @param ProductID：产品ID号
	 * @param ProductDescription：产品描述
	 * @return 更新产品描述是否成功，true表示成功，false表示失败
	 */
	
	 public boolean setUploadDetailDescription(int ProductID,String ProductDescription){
	    	
	    	boolean b = false;
	    	String sql = "update PRODUCTBASIC set ProductDescription='"+ProductDescription+"' where ProductID="+ProductID;
	      
	    	db.setSql(sql);
	    	
	    	
	    	int UpdateRow = db.setUpdate();
	    	if(UpdateRow!=0){
	    		b=true;
	    		
	    	}
	     return b;
	     }
	
	    /**
		 * 删除已下架产品在服务器里存的照片
		 * @param ProductID：产品ID号
		 * @param url：服务器存放照片的地址
		 * @return 表示删除图片是否成功，true表示成功，false表示失败
		 */
	public boolean delImgsInTomcat(int ProductID,String url){
		boolean b=false;
		String sql = "select ProductImage from PRODUCTBASICLOAD where ProductID="+ProductID;
		db.setSql(sql);
		String ProductImage = db.getProductItem();
		

		File file = new File(url+ProductImage);
		if(file.exists()){
		  b = file.delete();
		}
		
		return b;
	}
	 /**
	 * 更新上传图片之后把自动成成的图片名称存入数据库中
	 * @param ProductID：产品ID号
	 * @param imgurl：上传图片时随机产生的图片的名称
	 * @return 表示更新图片路径是否成功，true表示成功，false表示失败
	 */
	
	  public boolean setUploadImg(int ProductID,String imgurl){
	    	
	    	boolean b = false;
	    	String sql = "update PRODUCTBASIC set ProductImage='"+imgurl+"' where ProductID="+ProductID;
	      
	    	db.setSql(sql);
	    	
	    	
	    	int UpdateRow = db.setUpdate();
	    	if(UpdateRow!=0){
	    		b=true;
	    		
	    	}
	     return b;
	     }
	  
	  /**
		 * 更新  产品名称，下架时间，产品折扣，产品总数量，市场价，会员价等
		 * @param ProductUpdateBean 其中包含了 Type:更新的条目，Update:更新的内容，ProductID：更新的产品ID号
		 * @return 表示更新操作是否成功，true表示成功，false表示失败
		 */
	  public boolean setUpdateInfo(ProductUpdateBean pub){
	    	
	    	boolean b = false;
	    	String sql = "update PRODUCTBASIC set "+pub.getType()+"='"+pub.getUpdate()+"' where ProductID="+pub.getProductID();
	
	    	db.setSql(sql);
	    	
	    	
	    	int UpdateRow = db.setUpdate();
	    	if(UpdateRow!=0){
	    		b=true;
	    		
	    	}
	     return b;
	     }
	  
	   /**
		 * 更新  产品种类
		 * @param ProductUpdateBean 其中包含了 Type:更新的条目，Update:更新的内容，ProductID：更新的产品ID号
		 * @return 表示更新操作是否成功，true表示成功，false表示失败
		 */
	  public boolean setUpdateInfoFromSort(ProductUpdateBean pub){
	    	
	    	boolean b = false;
	    	String sql = "update PRODUCTSORT set ProductSortName='"+pub.getUpdate()+"' where ProductSortID="+pub.getProductID();
	    	db.setSql(sql);
	    	
	    	
	    	int UpdateRow = db.setUpdate();
	    	if(UpdateRow!=0){
	    		b=true;
	    		
	    	}
	     return b;
	     }
	  /**
		 *增加产品种类（现在只实现了一级的菜单，数据库设计的是可以弄成多级的菜单，可以更改
		 *其中，ProductSortName是指种类名称，ParentProductSortID()是该产品种类上一级的种
		 *类ID，RootProductSortID是指该种类最初是属于哪一种种类的ID，Isover表示该种类是否
		 *还包含下一级种类）
		 * @param ProductSortBean 
		 * @return 表示增加操作是否成功，true表示成功，false表示失败
		 */
    public boolean setSortInfo(ProductSortBean psb){
    	
    	boolean b = false;
    	
    	String sql = "insert into PRODUCTSORT value(null,'"+psb.getProductSortName()+"'" +
    			","+psb.getParentProductSortID()+","+psb.getRootProductSortID()+","+psb.getIsover()+")";
    	db.setSql(sql);
    	
    	
    	int UpdateRow = db.setUpdate();
    	if(UpdateRow!=0){
    		b=true;
    		
    	}
     return b;
     }
    /**
	 *增加产品详细信息
	 * @param ProductAllInfoBean包括ProductName：产品名称，ProductSortID：产品类别ID号，ProductImage： 产品
	 * 图片的名称，RetailPrice：产品会员价，MarketPrice：产品市场价，ProductType：产品的型号规格，
	 * ProductDiscount：产品折扣，CurrentPNumber：产品总量，EndTime：产品下架时间，now():产品上架时间(自动生
	 * 成，是但是数据库的时间)，ProductDescription：产品描 绘
	 * @return 表示增加操作是否成功，true表示成功，false表示失败
	 */
     public boolean setProductBasic(ProductAllInfoBean psb){
    	
    	boolean b = false;
    	String sql = "insert into PRODUCTBASIC value(null,'"+psb.getProductName()+"',"+psb.getProductSortID()+"" +
    			",'"+psb.getProductImage()+"',"+psb.getRetailPrice()+","+psb.getMarketPrice()+"," +
    					"'"+psb.getProductType()+"',"+psb.getProductDiscount()+"," +
    							""+psb.getCurrentPNumber()+","+0+",now(),'"+psb.getEndTime()+"','"+psb.getProductDescription()+"')";
    	db.setSql(sql);
    	
 

    	int UpdateRow = db.setUpdate();
    	if(UpdateRow!=0){
    		b=true;
    		
    	}
     return b;
     }
     /**
 	 *把已下架的产品插入PRODUCTBASICLOAD表中
 	 * @param ProductAllInfoBean包括ProductName：产品名称，ProductSortID：产品类别ID号，ProductImage： 产品
 	 * 图片的名称，RetailPrice：产品会员价，MarketPrice：产品市场价，ProductType：产品的型号规格，
 	 * ProductDiscount：产品折扣，CurrentPNumber：产品总量，BeginTime：产品上架时间，now():产品下架时间(自动生
 	 * 成，是但是数据库的时间)
 	 * @return 表示增加操作是否成功，true表示成功，false表示失败
 	 */
     public boolean setProductBasicLoad(ProductAllInfoBean psb){
     	
     	boolean b = false;
     	
     	String sql = "insert into PRODUCTBASICLOAD value("+psb.getProductID()+",'"+psb.getProductName()+"',"+psb.getProductSortID()+"" +
     			",'"+psb.getProductImage()+"',"+psb.getRetailPrice()+","+psb.getMarketPrice()+"," +
     					"'"+psb.getProductType()+"',"+psb.getProductDiscount()+"," +
     							""+psb.getCurrentPNumber()+","+0+",'"+psb.getBeginTime()+"',now())";
     	db.setSql(sql);
     	
  
     	int UpdateRow = db.setUpdate();
     	if(UpdateRow!=0){
     		b=true;
     		
     	}
      return b;
      }
      
     public boolean setProductBasicDel(int ProductID){
     	
     	boolean b = false;
     	
     	String sql = "delete from PRODUCTBASIC where ProductID="+ProductID;
     	
     	db.setSql(sql);
     	int UpdateRow = db.setUpdate();
     	if(UpdateRow!=0){
     		b=true;
     		
     	}
      return b;
      }
     /**
  	 *把产品种类ID号为ProductSortID的条目删除，该操作会造成属于该类别的产品也会一起全部删除
  	 * @param ProductSortID产品种类的ID号
  	 * @return 表示增加操作是否成功，true表示成功，false表示失败
  	 */
     public boolean setProductSortDel(int ProductSortID){
      	
      	boolean b = false;
      	
      	String sql = "delete from PRODUCTSORT where ProductSortID="+ProductSortID;
      	
      	db.setSql(sql);
      	int UpdateRow = db.setUpdate();
      	if(UpdateRow!=0){
      		b=true;
      		
      	}
       return b;
       }
     /**
   	 *把已下架的并且存在PRODUCTBASICLOAD数据库中的相关条目删除
   	 * @param ProductID产品的ID号
   	 * @return 表示增加操作是否成功，true表示成功，false表示失败
   	 */
     public boolean setProductBasicLoadDel(int ProductID){
      	
      	boolean b = false;
      	
      	String sql = "delete from PRODUCTBASICLOAD where ProductID="+ProductID;
      	
      	db.setSql(sql);
      	int UpdateRow = db.setUpdate();
      	if(UpdateRow!=0){
      		b=true;
      		
      	}
       return b;
       }
     /**
   	 *把产品ID号为ProductID的条目删除
   	 * @param ProductID产品的ID号
   	 * @return 表示增加操作是否成功，true表示成功，false表示失败
   	 */
     public boolean setProductBasicUpdate(int ProductID){
      	
      	boolean b = false;
      	
      	String sql = "delete from PRODUCTBASIC where ProductID="+ProductID;
      	db.setSql(sql);
      	int UpdateRow = db.setUpdate();
      	if(UpdateRow!=0){
      		b=true;
      		
      	}
       return b;
       }
}
